#include <iostream>
#include <string>
#include <jsoncpp/json/json.h>
#include <memory>
#include <sstream>
#include <cstdio>
// int main()
// {
//     // const char* argv[]=
//     // {   "ls",
//     //     "-a"
//     // };
//     // 问题：1. 为什么没有颜色?
//     // 2. 为什么结尾为有一个换行符?
//     std::string s = "slsss";
//     FILE *ret = popen(s.c_str(), "r");
//     if (!ret)
//     {
//         std::cout << "命令不合法或者执行出错" << std::endl;
//         return 1;
//     }
//     char inbuffer[1024];
//     int n = fread(inbuffer, 1, sizeof(inbuffer) - 1, ret);
//     if (n > 0)
//     {
//         std::cout << n<< std::endl;
//         inbuffer[n] = 0;
//         printf("%s\n", inbuffer);
//     }

//     // char buffer[128];
//     // std::string result;
//     // while (fgets(buffer, sizeof(buffer), ret))
//     // {
//     //     // 自动在末尾添加斜杠零
//     //     result += buffer;
//     // }
//     // if (!result.empty() && result.back() == '\n')
//     //     result.pop_back();
//     pclose(ret);
//     // std::cout << "Commadnresult: " << result << std::endl;
//     return 0;
// }

int main()
{
    Json::Value root;
    root["x"] = 10;
    root["oper"] = '+';
    root["y"] = 20;
    Json::StreamWriterBuilder wbuilder; //StreamWriterBuilder的工厂
    std::unique_ptr<Json::StreamWriter> writer(wbuilder.newStreamWriter());
    std::stringstream ss;
    writer->write(root,&ss);
    std::cout << ss.str() << std::endl;
    return 0;
}